package com.cg.design.depthdesign.command.commands;

import java.util.Stack;

/**
 * 命令历史
 *
 * @program: LeetCode->CommandHistory
 * @author: cg
 * @create: 2022-04-05 18:33
 **/
public class CommandHistory {
    /**
     * 全局命令历史记录就是一个堆桟。
     */
    private final Stack<Command> history = new Stack<>();

    /**
     * 后进...
     * <p>
     * 将命令压入历史记录的末尾。
     *
     * @param command
     */
    public void push(Command command) {
        history.push(command);
    }

    /**
     * ...先出
     * <p>
     * 从历史记录中取出最近的命令。
     *
     * @return
     */
    public Command pop() {
        return history.pop();
    }

    /**
     * 命令历史是否为空
     *
     * @return
     */
    public boolean isEmpty() {
        return history.isEmpty();
    }

}
